﻿namespace Sidvall.CodeGenerator
{
    public class DomainModelFilter
    {
        #region Public Members

        public bool ExcludePropertiesWithParentRelations { get; set; }

        #region DomainObjectPropertyMappings

        private DomainObjectPropertyMappingCollection _DomainObjectPropertyMappings;
        public DomainObjectPropertyMappingCollection DomainObjectPropertyMappings
        {
            get
            {
                if (_DomainObjectPropertyMappings == null)
                    _DomainObjectPropertyMappings = new DomainObjectPropertyMappingCollection();
                return _DomainObjectPropertyMappings;
            }
        }

        #endregion
        #region ExcludedDomainObjects

        private NameCollection _ExcludedDomainObjects;
        public NameCollection ExcludedDomainObjects
        {
            get
            {
                if (_ExcludedDomainObjects == null)
                    _ExcludedDomainObjects = new NameCollection();
                return _ExcludedDomainObjects;
            }
        }

        #endregion
        #region ExcludedDomainObjectProperties

        private NameCollection _ExcludedDomainObjectProperties;
        public NameCollection ExcludedDomainObjectProperties
        {
            get
            {
                if (_ExcludedDomainObjectProperties == null)
                    _ExcludedDomainObjectProperties = new NameCollection();
                return _ExcludedDomainObjectProperties;
            }
        }

        #endregion
        #region IncludedDomainObjectProperties

        private NameCollection _IncludedDomainObjectProperties;
        public NameCollection IncludedDomainObjectProperties
        {
            get
            {
                if (_IncludedDomainObjectProperties == null)
                    _IncludedDomainObjectProperties = new NameCollection();
                return _IncludedDomainObjectProperties;
            }
        }

        #endregion

        #endregion
        #region Constructors

        public DomainModelFilter()
        {
        }

        #endregion
    }
}
